package controllers;

import play.*;
import play.data.validation.MaxSize;
import play.data.validation.MinSize;
import play.data.validation.Required;
import play.libs.Mail;
import play.mvc.*;

import java.util.*;

import org.apache.commons.mail.SimpleEmail;

import models.*;

@With(Secure.class)

public class Modeles_bateau extends Application 
{
	// Editer le modèle bateau d'un utilisateur
	public static void editer()
	{
		Utilisateur user = Utilisateur.find("byPseudo", Security.connected()).<Utilisateur>first();
		Modele_bateau modele = Modele_bateau.find("byUtilisateur", user).first();
		List<Couleur> couleurs = Couleur.findAll();
		
		int couleur_id = modele.couleur.id.intValue();
		String nomBateau = modele.nom;
		
		render(modele, couleurs, couleur_id, nomBateau);
	}
	
	// Editer le modèle bateau d'un utilisateur
	public static void editerAction(	@Required
										@MaxSize(50)
										@MinSize(3)
									String nomBateau,
									int couleur_id)
	{
		Utilisateur user = Utilisateur.find("byPseudo", Security.connected()).<Utilisateur>first();
		Modele_bateau modele = Modele_bateau.find("byUtilisateur", user).first();
		
		List<Couleur> couleurs = Couleur.findAll();
		
		if(validation.hasErrors())
		{
			render("Modeles_bateau/editer.html", modele, nomBateau, couleurs);
		}
		
		else
		{
			String message = "";
			
			Modele_bateau mod_compare = Modele_bateau.find("byNom", nomBateau).first();
			
			if(mod_compare != null && mod_compare.nom != modele.nom)
			{
				message = "Ce nom de bateau n'est pas disponnible";
				render("Modeles_bateau/editer.html", modele, nomBateau, couleurs, message);	
			}			
			else
			{
				modele.nom = nomBateau;
				modele.couleur = Couleur.findById((long)couleur_id);
				modele.save();
				Utilisateurs.index();
			}
		}
	}	
}
